home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / tools / megaedit / medit.txt < prev    next >
Encoding:
Text File  |  1994-09-22  |  22.1 KB  |  505 lines

  1.  
  2.                   MEdit V1.04 - © 1994 by Ralf Holsten
  3.                                           Parkstraße 4
  4.                                     27432 Bremervörde Bevern
  5.  
  6.                   MEdit V1.04 ist Shareware... (keine Public Domain)
  7.                   MEdit V1.04 darf Frei kopiert und verbreitet werden.
  8.                   Ich bitte nur um eine Mitteilung, wenn jemand mein
  9.                   Programm über sein Vertriebssystem vertreiben will.
  10.                   MEdit darf nicht mit anderen professionellen 
  11.                   Programmen zusammen vertrieben werden !!!!!!!!!!!!!!!!!!
  12.  
  13.                   Zu MEdit gehören die Dateien
  14.                         MEDIT.INF,
  15.                         MEDIT.PRG,
  16.                         MEDIT.TXT,
  17.                         VIRINFO.TXT
  18.                         und
  19.                         MEGAMAX.MAK
  20.  
  21.                   MEdit darf nur kopiert werden, 
  22.                   wenn diese Dateien mit kopiert werden.
  23.  
  24. ------------------------------------------------------------------------------
  25.  
  26.  Sie können MEdit zu Testzwecken nutzen. MEdit besitzt in der Shareware-Version
  27.  keine, oder nur geringe, Einschränkungen :
  28.  
  29.                     Scriptmodul nicht vorhanden.
  30.                     Definitions- und Implementationsmodule zur Benutzung 
  31.                     der Resourceeinbing fehlen (inclusive SourceCode).
  32.  
  33.  Wer diese Funktionen, einige Scriptmodule und die ausführliche Anleitung
  34.  erwerben möchte, der soll sich bitte direkt an mich wenden :
  35.  
  36.                         Ralf Holsten
  37.                         Parkstraße 4
  38.                   27432 Bremervörde Bevern
  39.  
  40.         Die MEdit-Vollversion kostet 40 DM plus Nachname !!!
  41.  
  42.  ( Ich versende meine Software nur per Nachname !!!!!!!!!!!!              )
  43.  
  44.  ( Bitte keine Postzustellungen zwischen 20.00 Uhr und 10.00 Uhr Morgens. )
  45.  ( Ich könnte Zuhause sein.                                               )
  46.  
  47. ------------------------------------------------------------------------------
  48.  
  49.  Wem MEdit nicht gefällt, darf mir auch gerne schreiben oder es doch
  50.  selbst besser machen, und mir dann seine Version eines Texteditors zuschicken.
  51.  
  52.                         Ralf Holsten
  53.                         Parkstraße 4
  54.                   27432 Bremervörde Bevern
  55.  
  56.  Sie können mir auch Geld schicken, wenn Ihnen MEdit nicht gefällt, dann werde
  57.  ich meine Tätigkeit als Programmierer sofort aufgeben und nur noch solche, 
  58.  nun wirklich doofen, Anleitungen zu nicht existierenden Programmen schreiben.
  59.  
  60. ------------------------------------------------------------------------------
  61.  
  62. Und bitte beachten Sie folgendes :
  63.  
  64.                   Wer gegen diese Vereinbarungen verstößt, wird vom
  65.                   Nikolaus mit der Rute verprügelt, oder von den Herren
  66.                   Ingenieuren verschiedener Autofirmen als Dummie benutzt.
  67.  
  68. ------------------------------------------------------------------------------
  69.  
  70. WICHTIG !!!!!!!!!!
  71. ------------------
  72. Ich übernehme keine Garantie für die korrekte Funktionsweise von MEdit. 
  73. Außerdem übernehme ich keine Haftung über eventuell entstandene Schäden, 
  74. an Hard-, Software usw., die durch MEdit verursacht wurden.
  75.  
  76.  
  77. -----------------------------------------------------------------------------
  78. Einleitung :   [ Entschuldigen Sie mein schlechtes Deutsch...Bitte!!! ]
  79. -----------------------------------------------------------------------------
  80.  
  81.  MEdit ist ein Texteditor für Modula 2 - Quelltexte. Er bietet einige Sonder-
  82.  funktionen, die das Programmieren unter Modula 2 sehr erleichtern.
  83.  Der Texteditor wurde mit dem Megamax Modula 2 System programmiert und auch
  84.  auf dieses System optimiert. Das gilt vor allem für die Einfügefunktionen und
  85.  die Fehlerfunktion. Diese sind stark an das Megamax Modula 2 System gebunden.
  86.  Im allgemeinen aber auch unter allen anderen Modula 2 Systemen nutzbar.
  87.  
  88. -----------------------------------------------------------------------------
  89. Die Menus und ihre Tastaturkombinationen :
  90. -----------------------------------------------------------------------------
  91.  
  92.         1. MEdit
  93.                 Informationen                         Control I
  94.                 -----------------------------------------------
  95.                 Accessories.
  96.         2. Datei
  97.                 Neues Fenster öffnen                  Control N
  98.                 -----------------------------------------------
  99.                 Module (*.M) laden                    Control L
  100.                 Definition Module laden         Shift Control D
  101.                 Implementation Module laden     Shift Control I
  102.                 Textdatei laden                 Shift Control T
  103.                 -----------------------------------------------
  104.                 aktuelles Fenster speichern     Shift Control S
  105.                 aktuelles Fenster speichern als       Control S
  106.                 -----------------------------------------------
  107.                 Programm beenden                      Control Q
  108.  
  109.         3. Block
  110.                 Blockanfang markieren                 Control B
  111.                 Blockende markieren                   Control E
  112.                 Alles markieren                       Control A
  113.                 Block verstecken                      Control H
  114.                 -----------------------------------------------
  115.                 Kleinschrift
  116.                 Großschrift
  117.                 -----------------------------------------------
  118.                 Block kopieren                        Control C
  119.                                                       Control K
  120.                 Block verschieben                     Control V
  121.                 selektierten Block merken               Shift Insert
  122.                 Schon bearbeiteten Block einfügen     Control Insert 
  123.                 (z.B. durch kopieren oder verschieben)
  124.                 -----------------------------------------------
  125.                 lese Clipboard
  126.                 setze Clipboard
  127.                 Text einfügen                       Alternate L
  128.                 Block speichern                     Alternate S
  129.                 -----------------------------------------------
  130.                 Block löschen                         Control D
  131.  
  132.         4. Text
  133.                 Gehe zu Zeile                         Control Z
  134.                 Gehe zu Markierung                  Alternate G
  135.                 Gehe zu Fehler                        Control R
  136.                 -----------------------------------------------
  137.                 Gehe zu Textanfang                         Home
  138.                 Gehe zu Textende                     Shift Home
  139.                 -----------------------------------------------
  140.                 Setze Markierung                    Alternate M
  141.                 -----------------------------------------------
  142.                 Zeige Fehler                    Shift Control R
  143.                 -----------------------------------------------
  144.                 Suchen/Ersetzen                       Control F
  145.                 Nächsten Suchen                 Shift Control F
  146.                 -----------------------------------------------
  147.                 Einfügen eines Textobjektes         Alternate I
  148.                 (z.B. ResourceCode, Binärdateien, Uhrzeit, Datum,
  149.                       Sonderzeichen, Tastaturcodes, SinCosTabellen,
  150.                       Icondatei...)
  151.  
  152.         5. Extra
  153.                 Tastaturmakroverwaltung aufrufen Control Alternate T
  154.                 Scriptmodul laden und aussführen
  155.                 (zur Zeit noch nicht aktiv)      Control Alternate S
  156.                 Rechnermodul aufrufen            Control Alternate R
  157.                 ----------------------------------------------------
  158.                 Block drucken                        Shift Control P
  159.                 Fenster drucken                            Control P
  160.                 ----------------------------------------------------
  161.                 Einstellungen                            Alternate X
  162.                 Einstellungen sichern                      Control X
  163.  
  164.         6. Fenster
  165.                 Fenster untereinander               Alternate U
  166.                         nebeneinander               Alternate N
  167.                         kachelartig                 Alternate K
  168.                    oder überlappend anordnen        Alternate P
  169.                 -----------------------------------------------
  170.                 Fensterliste zeigen                 Alternate W
  171.                 oberstes Fenster schliessen Control Alternate C
  172.                 -----------------------------------------------
  173.                 Informationszeile ein/ausschalten
  174.                 -----------------------------------------------
  175.                 oberstes Fenster löschen    Control Alternate D
  176.                 Alles offenen Fenster löschen
  177.  
  178. -----------------------------------------------------------------------------
  179. Funktionsbeschreibung : ( nur für die wichtigsten Funktionen )
  180. -----------------------------------------------------------------------------
  181.  
  182. Tastaturkombinationen :
  183.  
  184. ⇧ - Hoch
  185. ⇩ - Runter
  186. ⇦ - Links
  187. ⇨ - Rechts
  188.  
  189. Shift ⇧ - Cursor eine Fensterseite nach oben bewegen.
  190. Shift ⇩ - Cursor eine Fensterseite nach unten bewegen.
  191. Shift ⇦ - Cursor ein Wort nach Links bewegen.
  192. Shift ⇨ - Cursor ein Wort nach Rechts bewegen.
  193.  
  194. Control ⇦ - an den Zeilenanfang springen.
  195. Control ⇨ - an das Zeilenende springen.
  196.  
  197. Home - an den Textanfang springen
  198. Shift Home - an das Textende springen
  199.  
  200. Backspace - einen Buchstaben links vom Cursor löschen und Cursor an diese
  201.             Position bewegen,
  202. Shift Backspace - Ein Wort links vom Cursor löschen und Cursor bewegen.
  203. Control Backspace - Zeile links vom Cursor löschen und Cursor bewegen.
  204.  
  205. Delete - einen Buchstaben Rechts vom Cursor löschen.
  206. Control Delete - Zeile rechts vom Cursor löschen.
  207.  
  208. Control ';' - Semikolon an das Zeilenende anhängen.
  209. Control '(' - (): an das Zeilenende anhängen.
  210. Control ')' - ); an das Zeilenende anhängen.
  211.  
  212. Space und Insert Leerzeichen in Zeile einfügen.
  213.  
  214. F1 bis F4 Cursorform umschalten.
  215.  
  216.         F1 - Block
  217.         F2 - Hohlblock
  218.         F3 - Waagerechter Strich
  219.         F4 - Horizontaler Strich
  220.  
  221. Die Restlichen Tastaturkombinationen sind aus den Menus zu entnehmen.
  222.  
  223. Makros : Werden durch Eingabe der Textkombination und anschließendem Drücken
  224. -------- der Escape-Taste ausgelöst. z.B. die Standart Makros
  225.  
  226.                                           io+ESC ergibt InOut
  227.                                           gg+ESC ergibt GEMGlobals
  228.                                           aw+ESC ergibt AESWindows
  229.                                           ar+ESC ergibt AESResources.
  230.  
  231.         Die Makros werden in einem Dialog verwalten und können so leicht
  232.         selbst einegeben und erweitert werden.
  233.         Maximal sind 200 Makros möglich.
  234.  
  235.         Als Standartmakrodatei wurden die Megamax Modula II - Modulname
  236.         eingegeben.
  237.  
  238.         Die aktuelle Makrodatei wird auch mit in der Infodatei abgespeichert.
  239.  
  240.  
  241. ShiftAlt-Server : mittels der Tastenkombination Shift-Alternate - Taste können
  242. ----------------- Standart-Modula-2-Befehle abgerufen werden.
  243.  
  244.                   Hier die Liste der möglichen Kombinationen :
  245.                   ( '^' - Cursorposition nach dem auslösen der Funktion )
  246.  
  247. Shift-Alt-A : ARRAY [0..^] OF ;
  248.               ASSEMBLER;
  249.               ADDRESS
  250.  
  251. Shift-Alt-B : BEGIN
  252.               BITSET;
  253.               BOOLEAN;
  254.               BYTE;
  255.  
  256. Shift-Alt-C : CARDINAL;
  257.               CASE ^ OF
  258.               CHAR;
  259.               CONST
  260.  
  261. Shift-Alt-D : DEFINITION MODULE ^;
  262.  
  263. Shift-Alt-E : ELSE
  264.               ELSIF ^
  265.               END;
  266.               EXCL(
  267.               EXIT;
  268.               EXPORT ^
  269.  
  270. Shift-Alt-F : FALSE
  271.               FLOAT(
  272.               FROM ^
  273.               FORWARD;
  274.  
  275. Shift-Alt-H : HALT;
  276.               HIGH(
  277.  
  278. Shift-Alt-I : IMPLEMENTATION MODULE ^;
  279.               IMPORT ^
  280.               INCL(
  281.               INTEGER;
  282.               INT(
  283.  
  284. Shift-Alt-L : LONG(
  285.               LONGCARD;
  286.               LONGINT;
  287.               LONGREAL;
  288.               LONGWORD;
  289.               LOOP
  290.  
  291. Shift-Alt-M : MODULE ^;
  292.  
  293. Shift-Alt-P : POINTER TO ^
  294.               PROCEDURE 
  295.  
  296. Shift-Alt-R : REAL;
  297.               RECORD
  298.               REPEAT
  299.               RETURN ^
  300.  
  301. Shift-Alt-S : SET OF ^
  302.               SHORT(
  303.               FROM SYSTEM IMPORT ADDRESS, ASSEMBLER, ADR;
  304.  
  305. Shift-Alt-T : THEN ^
  306.               TRUE
  307.               TRUNC(
  308.               TYPE
  309.  
  310. Shift-Alt-U : UNTIL ^
  311.  
  312. Shift-Alt-V : VAR ^
  313.  
  314. Shift-Alt-W : WHILE ^ DO
  315.               WITH ^ D0
  316.               WORD;
  317.  
  318.  
  319. Dialogbedienung Allgemein :
  320. ---------------------------
  321.  
  322. Standart Tastaturbelegung (übliche Ataribbedienung + ) :
  323.                 Control 'A' -> bricht jeden Dialog mit 'Abbruch' ab.
  324.                 TAB         -> Schaltet den Cursor weiter bzw. den Button-
  325.                                selector, wie unter Windows üblich. Damit ist
  326.                                eine Tastaturbedienung der Dialoge teilweise
  327.                                möglich.
  328.           Shift TAB         -> bewegt den Cursor eine Eingabezeile zurück,
  329.                                bzw. den Buttonselector.
  330.                 RETURN      -> bewegt den Cursor eine Eingabezeile weiter,
  331.                                bzw. wenn die letzte Eingabezeile erreicht
  332.                                wurde, aktiviert die Returntaste den 'OK'-
  333.                                Button.
  334.                 UNDO        -> aktiviert den Buttonselector.
  335.  
  336. Standart Mausbedienung :
  337.   linke Maustaste außerhalb der Dialogbox  -> Ring my bell.
  338.   rechte Maustaste außerhalb der Dialogbox -> Dialog schnell auf der aktu-
  339.                                               ellen Mausposition zentrieren.
  340.   linke Maustaste innerhalb der Dialogbox  -> 1. normale Dialogbedienung
  341.                                               2. auf freier Dialostelle
  342.                                                  (ohne Funktion, z.B. Infotext,
  343.                                                   Grundbox usw.), Movebox-
  344.                                                   funktion.
  345.  
  346.  
  347. Suchen : Die Suchfunktion erlaubt es, bestimmte Textstellen im Text zu suchen
  348. -------- und diese zu verändern. Dabei können Freistellen oder ganze Passagen
  349.          im Text ausgelassen werden und durch JOKER und ÜBERBRÜCKER ersetzt 
  350.          werden z.B. ( Standart JOKER '*', Standart ÜBERBRÜCKER '?' ) :
  351.                      Suche : P*OC?RE, findet u.a. PROCEDURE
  352.                      Suche : P**C, findet u.a. PROC
  353.                      Suche : P*E, findet u.a. PROCEDURE, POINTER TO BYTE
  354.  
  355.          Beim Ersetzen wird immer das ganze selektierte Wort ersetzt, es können
  356.          keine ÜBERBRÜCKER oder JOKER gesetzt werden.
  357.  
  358. Objekt einfügen : Mittels der Pfeil-Buttons können Sie die Funktionsauswahl
  359.                   scrollen, mittels eines Klicks auf die entsprechende Funktion,
  360.                   wird dies ausgeführt.
  361.  
  362.                   Funktionen :
  363.                   1. Sonderzeichen einfügen, es wird ein Dialog angezeigt, der
  364.                      die Auswahl eines Sonderzeichens ermöglicht.
  365.                   2. Tastaturcode einfügen, es wird ein Diloag angezeigt, der
  366.                      auf eine Tastaturkombination wartet.
  367.                      Wird eine Tastenkombination gedrückt, wird diese als 
  368.                      ScanCode und Sondertastenkombination (im Megamax - 
  369.                      SpecialKeySet-Format) augegeben.
  370.                      Beispiel :
  371.                                      (* Alternate 'S' *)
  372.                      IF (alternateKey IN key) & (ch.scan = $1F) THEN
  373.  
  374.                   3. Uhrzeit fügt die aktuelle Uhrzeit, in vier Variationen,
  375.                      in den Text ein. Die Variationen :
  376.                                                 1. 21:25:42
  377.                                                 2. 21 Uhr 25
  378.                                                 3. 9:25 pm
  379.                                                 4. 09:25 pm
  380.  
  381.                   4. Das aktuelle Datum in den Text einfügen :
  382.                                                 1. 02.08.94
  383.                                                 2. 2.08.94
  384.                                                 3. 2.8.94
  385.                                                 4. 8. Aug 94
  386.  
  387.                   5. Klammer einfügen :
  388. (* ----------------------------------------------------------------------- *)
  389.                   6. Resourcecode in Text einbinden. 
  390.                      Diese Funktion wandelt ein *.RSC File in ein Format um,
  391.                      das die Funktion RelocateResource lesen kann um.
  392.                      Die Funktion RelocateResource liefert dem AES dann die
  393.                      Werte wie nach ResourceLoad. Nun ist es möglich, auf 
  394.                      das ResourceFile zu verzichten. (Siehe MEdit)
  395.                   7. Icondatei einbinden.
  396.                      Eine *.ICN-Datei wird in ein TABLE-Format für Megamax-
  397.                      Modula 2 umgewandelt, so können Icons in Modula 2 Quell-
  398.                      texte leicht eingebunden werden. Beispiel :
  399.  
  400. TABLE.W  ICONDATEI : (* ohnen Offsets, nur die Reine Bildinformation *)
  401.             $fffe,$a00b,$afeb,$a00b,$a00b,$afeb,$a00b,$9ff3,
  402.             $8003,$bff3,$a013,$ac13,$ac13,$ac13,$ffff,$7fff,
  403.             $0000;
  404.  
  405.                   8. Binärdatei einbinden.
  406.                      Eine beliebige Binärdatei wird in das TABLE-Format umge-
  407.                      wandelt.
  408.                   9. SIN/COS-Tabelle erstellen.
  409.                      Es wird eine SIN/COS-Tabelle in den Text eingefügt.
  410.                      Für die kompletten 360 Grad.
  411.                      Die Werte werden in Wortlänge abgelegt, und müssen nur
  412.                      noch durch 1000 geteilt werden, nachdem sie angewendet
  413.                      wurden. Beispiel :
  414.  
  415. TABLE.W SinTab: $0000, $0011, $0022, $0034, $0045, $0057, $0068, $0079, 
  416.                 $008B, $009C, $00AD, $00BE, $00CF, $00E0, $00F1, $0102, 
  417.                 ....
  418. TABLE.W CosTab: $03E8, $03E7, $03E7, $03E6, $03E5, $03E4, $03E2, $03E0, 
  419.                 $03DE, $03DB, $03D8, $03D5, $03D2, $03CE, $03CA, $03C5, 
  420.                 ....
  421.                         (* ---------------------------------- *)
  422.                         (* Schnelle 2Dimensionale Drehroutine *)
  423.                         (* Dreht rx,ry um den Nullpunkt       *)
  424.                         (* ---------------------------------- *)
  425.  
  426.                      PROCEDURE Rotate(    rx,ry : LONGINT;
  427.                                       VAR x,y   : LONGINT);
  428.  
  429.                         PROCEDURE SIN(w : LONGINT): LONGINT;
  430.                         VAR adr : POINTER TO ARRAY [0..359] OF INTEGER;
  431.                         BEGIN
  432.                           adr := CADR(SinTab);
  433.                           RETURN LONG(adr^[ SHORT(w) ]) ;
  434.                         END SIN;
  435.  
  436.                         PROCEDURE COS(w : LONGINT): LONGINT;
  437.                         VAR adr : POINTER TO ARRAY [0..359] OF INTEGER;
  438.                         BEGIN
  439.                           adr := CADR(CosTab);
  440.                           RETURN LONG(adr^[SHORT(w)]);
  441.                         END COS;
  442.  
  443.                      BEGIN
  444.                           x := rx * COS(winkel) DIV 1000L - 
  445.                                ry * SIN(winkel) DIV 1000L;
  446.                           y := rx * SIN(winkel) DIV 1000L - 
  447.                                ry * COS(winkel) DIV 1000L;
  448.                      END Rotate;
  449.  
  450. Einstellungen : Dieser Dialog ermöglicht es Ihnen Standart Tabulatoren für
  451. -------------   verschiedene Dateitypen festzulegen, die Cursorform zu
  452.                 bestimmen, und die Infozeile im Fenster ein-, bzw. auszu-
  453.                 schalten.
  454.  
  455.                 Sämliche Einstellungen können in einer Infodatei gespeichert
  456.                 werden.
  457.  
  458. Fensterverwaltung : Dieser Dialog ermöglicht den Zugriff auf alle Fenster,
  459. ------------------- die offenen,und die geschlossenen (da MEdit grundsätzlich
  460.                     bis zu 40 Fenster ermöglicht, aber das Standart GEM nur
  461.                     sieben Fenster gleichzeitig verwalten kann).
  462.  
  463. -----------------------------------------------------------------------------
  464. Begrenzungen :
  465. -----------------------------------------------------------------------------
  466.         Der Texteditor sollte auf allen Atari Computern lauffähig sein, 
  467.         getestet wurde er allerdings nur auf einem Atari MegaSTE mit 4MB.
  468.  
  469.         Die Verarbeitungsgeschwindigkeit läßt ohne Blitter und 16 MHz CPU-Takt
  470.         leider etwas zu wünschen übrig, da MEdit ausschließlich in Modula 2
  471.         programmiert wurde, wird aber sicherlich in der nächsten Version 
  472.         wesentlich erhöht werden.
  473.  
  474.         Eine Textzeile darf maximal 156 Zeichen enthalten, wenn diese 
  475.         Zeichenanzahl überschritten wird, dann wird der Text umgebrochen und
  476.         die überschüssigen Zeichen auf die nächste Zeile kopiert.
  477.  
  478.         Es sind maximal 20.000 Textzeilen pro Fenster erlaubt.
  479.  
  480.         Das macht zusammen 3.120.000 Bytes pro Fenster also sind für ein
  481.         Fenster mit vollen 20.000 Textzeilen und Programmen 4MB notwendig.
  482.  
  483.         Es können maximal 40 Fenster gleichzeitig im Speicher gehalten werden.
  484.         ( Das macht nun schon maximal 124.800.000 Bytes. [ Wer hat schon soviel
  485.           Speicherkapazität. ] )
  486.  
  487.         Die Bildschirmauflösung muß mindestens 640x400 Pixel betragen,
  488.         bei Auflösungen unterhalb 640x400 Pixeln ist eine Bildschirm-
  489.         erweiterung, BigSTE (Siehe ST_Computer), BigScreen, BigScreen2
  490.         oder andere eventuell vorhandene, zu nutzen.
  491.        
  492. -----------------------------------------------------------------------------
  493. Fehler:
  494. -----------------------------------------------------------------------------
  495. Version 1.04, 02.08.94
  496.         1. Nach dem Auslösen der Druckfunktion stürzt das Programm manchmal ab.
  497.         2. Es kann zu kleineren Zeichenfehlern in der ersten Zeile des Fensters
  498.            kommen.
  499.         3. Fensterverwaltung noch zu Speicherintensiv.
  500.         4. Beim Menuzeile einschalten verkleinern sich die Fenster um eine
  501.            Zeile zu viel.
  502.         5. Wenn versucht wird, einen Block zu kopieren, ohne das ein Block
  503.            selektiert wurdem, dann wird eine falsche Fehlermeldung ausgegeben.
  504.            (und keiner weiß warum !)
  505.